随机读写存储器


[toc]

1. 静态RAM的基本单元电路

SRAM的基本存储单元由6个MOS管组成,如下图

image-20210607102115328

1.1 RAM组件

  • T1和T2管的状态决定了存储的信息
    • T1管导通,T2管截至,表示0状态
    • T1管截至,T2管导通,表示1状态
  • T3和T4管用作选通门,控制读写操作
  • T5和T6管是负载管
  • 字线用来选择这个记忆单元
  • 两条位线用来传送读写信号

1.2 运行过程

选中记忆单元:当字线为低电平时,此时T3和T4管均为截止状态,触发器与位线隔开,原状态保持不变,当字线为高电平,T3和T4管导通,可以进行读写操作

读操作:两条位线均与A、B点相通,若此时记忆单元中T1管截止,T2管导通,B点电位为低,则读出“1”,反之读出“0”

写操作:令“位线I/O“为高电平,”位线I/O非“为低电平,使得B点电位为低,则使得T2管导通,T1管截止,也就是写入“1”,反之令“位线I/O”为低电平,“位线I/O非”为高电平,则为写“0”操作

2 动态RAM的刷新

2.1 刷新间隔

原因:为了维持DRAM记忆单元的存储信息,每隔一定时间必须刷新

在刷新与重写中:

重写是随机的,某个存储单元只有在破坏性读出之后才需要重写。

重写一般是按存储单元进行的

而刷新是定时的,即是许多记忆单元长期未被访问,若不及时补充电荷的话,信息是会丢失的

刷新通常是存储体矩阵中的一行为单位的

2.2 刷新方式

2.2.1 集中刷新

在允许的最大刷新间隔中,按照存储芯片容量的大小集中安排若干个刷新周期,刷新时停止读写操作

刷新时间 = 存储体行数 x 刷新周期,这里刷新周期是指刷新一行所需要的时间,所以刷新周期就是存取周期

例如:对于有1024个记忆单元(32*32的存储矩阵,因为方阵是最利于集中的)的存储芯片刷新,需要32个刷新周期,如果存取周期为0.5μs,则在2ms的刷新间隔中,前1984μs是读写周期,而后16μs为刷新周期,也是死区

优缺点

  • 读写操作不受刷新工作影响,存取速度快
  • 集中刷新期间必须停止读写,称为死区,且存储容量越大,死区越长

2.2.2 分散刷新

把刷新操作分散到每个存取周期,这种刷新方式增加了系统的存取周期

如果芯片的存取周期为0.5μs,我们仍以32*32的矩阵为例,每次存取在刷新需要1μs,刷新32次后整个刷新间隔则为32μs

优缺点

  • 没有死区
  • 加长了系统的存取周期,降低了整机的速度
  • 刷新过于频繁(例如32μs),没有充分利用最大刷新间隔(例如2ms)

2.2.3 异步刷新

充分利用最大刷新间隔时间,把刷新操作平均分配到最大刷新间隔时间内

相邻两行的刷新间隔=最大刷新间隔时间/行数

例如:对于32*32矩阵,2ms内要刷新32次,则每次要刷新2ms/32次=62.5μs,则每个刷新周期(62.5μs)中,前62μs为读写操作,后0.5μs为刷新操作

优缺点

  • 有死区,但死区比起集中刷新要小,为0.5μs
  • 减少了刷新次数

2.3 刷新控制

为了控制刷新,需要控制刷新电路。控制刷新电路的主要任务是解决刷新和CPU访问存储器之间的矛盾,当刷新和访问请求同时发生,优先刷新操作

2.4 DRAM刷新的注意事项

  • 刷新对CPU是透明的
  • 每一行中各记忆单元同时被刷新,故刷新操作仅需要行地址
  • 刷新操作类似读出操作,但不需要信息输出
  • 刷新时不需要片选信号,因为存储器中所有芯片同时刷新
  • 由于芯片同时被刷新,所以刷新问题应当从单个芯片的存储容量着手,而不是整个存储器的容量

3 RAM的读写时序

读周期:表示对芯片心距两次连续读操作的最小间隔时间,在这个过程中地址输入信息不允许改变,片选信号在地址有效后生效,使芯片被选中,最后在数据线上得到读出的信号

写周期:写周期和读周期相似,除了地址和片选信号外,还要加一个低电平有效的写入脉冲,并提供写入数据

4 RAM芯片分析

RAM芯片通过地址线、数据线和控制线与外部连接

地址线是单向输入,其数目与芯片容量有关,如容量为1024x4时,地址线有10根,因为$2^{10}=1024$,容量为64K1时,地址线为16根,因为$2^6 2^{10}(1K) = 2^{16}$。

数据线是双向的,其数目与数据位线有关,如1024x4的芯片,数据线有4根,64Kx1的芯片,数据线有1根

控制线:有读写控制线$\overline{WE}$和片选线$\overline{CS}$两种,片选线决定该芯片是否被选中,读写控制线用来控制芯片进行读操作还是写操作

为了减少芯片的引脚数量,DRAM芯片把地址线分为相等的两部分,分两次从相同的引脚送入,两次输入的地址分别是行地址列地址,行地址由行地址选通信号送入存储芯片,列地址有列地址选通信号送入存储芯片

由于采用了地址复用技术,所以DRAM每增加一条地址线,实际上增加两位地址,也就是4倍的容量